Drag-and-drop operations are used in many Graphical User Interfaces (GUI) to facilitate user friendly methods of directing data communications for an application or between applications. For example, an item is dragged when a mouse button is pressed and held down while the cursor is over the item. Moving the mouse while the mouse button is held down moves the item from one position to another thereby “dragging” the item. When the mouse button is finally released, the dragged item is dropped at the location where the cursor is when the mouse button is released. Thus, the drag-and-drop operation defines a source location and a destination location for a data communication operation; and the data communication operation associated with the drag-and-drop operation (e.g., copy, move, print) is performed on the data represented by the dragged item. For example, U.S. Pat. No. 6,212,577 describes various methods used in a drag-and-drop operation (e.g., providing feedback, communicating data with different formats).
While drag-and-drop operations are typically performed according to input from pointing devices (e.g., mouse, track ball, touch pad, touch screen), which can provide continuously varying input depending on a position of the device to correlate a motion of the input device with the motion of a dragged item, other input devices (e.g., keyboard or voice recognition) can also be used to provide similar inputs (e.g., pressing and/or releasing arrow keys). Thus, it will be understood that an input of dragging and dropping an item may be from one of various different input devices, which are interpreted by a digital processing system as input for dragging and dropping the item.